package com.suanfa.leetcode.listnode;

import java.util.ArrayList;
import java.util.List;

/**
 * TODO 给你两个非空的链表，表示两个非负的整数。它们每位数字都是按照逆序的方式存储的，并且每个节点只能存储一位数字。
 *      请你将两个数相加，并以相同形式返回一个表示和的链表。
 *      你可以假设除了数字 0 之外，这两个数都不会以 0开头。
 */
public class ListNode {
    public static List<Integer> addTwoNum(List<Integer> list1,List<Integer> list2){
        int size1 = list1.size();
        int size2 = list2.size();
        int num1=0;
        int num2=0;
        for (int i = 0; i < size1; i++) {
            num1=num1+list1.get(i)*((int) Math.pow(10, i));
        }
        for (int i = 0; i < size2; i++) {
            num2=num2+list2.get(i)*((int) Math.pow(10, i));
        }
        int numAll=num1+num2;
        String nums = String.valueOf(numAll);
        ArrayList<Integer> arrayList=new ArrayList<>();
        for (int i = 0; i < nums.length(); i++) {
            arrayList.add(Integer.parseInt(String.valueOf(nums.charAt(nums.length() - i - 1))));
        }
        return arrayList;
    }
    public static void main(String[] args) {
        ArrayList<Integer> list1=new ArrayList<>();
        ArrayList<Integer> list2=new ArrayList<>();
        list1.add(2);
        list1.add(4);
        list1.add(3);
        list2.add(5);
        list2.add(6);
        list2.add(4);
        List<Integer> list = addTwoNum(list1, list2);
        System.err.println(list);
    }
}
